#include <cstdio>
#include <system_error>

std::error_code fun(int i) {
    switch (i) {
        case 1:
            return std::make_error_code(std::errc::bad_address);
        case 2:
            return std::make_error_code(std::errc::file_too_large);
        default:
            return std::error_code(); //没有错误，调用其默认构造函数
    }
}

int main() {
    for (int i = 1; i <= 3; i++) {
        std::error_code err = fun(i);
        if (err) {
            printf("%s\n", err.message().c_str());
        }
    }

    return 0;
}
